package com.lantosec.hmrp.modules.archives.vo;

import java.time.LocalDateTime;
import java.util.Date;

import com.lantosec.hmrp.modules.archives.entity.UserInfo;
import com.lantosec.hmrp.core.mvc.BaseVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * <p>
 * 用户信息表 VO对象
 * </p>
 *
 * @author AutoCode
 * @since 2020-06-09
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value="UserInfo对象", description="用户信息表")
public class UserInfoVO extends BaseVO<UserInfo> {
    private static final long serialVersionUID = 1L;


    public UserInfoVO(UserInfo entity){
        this.userInfoId = entity.getUserInfoId();
        this.userId = entity.getUserId();
        this.employeeId = entity.getEmployeeId();
        this.name = entity.getName();
        this.sex = entity.getSex();
        this.birth = entity.getBirth();
        this.jobTitle = entity.getJobTitle();
        this.country = entity.getCountry();
        this.nation = entity.getNation();
        this.nativePlace = entity.getNativePlace();
        this.householdPlace = entity.getHouseholdPlace();
        this.politicalStatus = entity.getPoliticalStatus();
        this.idCard = entity.getIdCard();
        this.idCardFront = entity.getIdCardFront();
        this.idCardBack = entity.getIdCardBack();
        this.phone = entity.getPhone();
        this.workTel = entity.getWorkTel();
        this.familyTel = entity.getFamilyTel();
        this.address = entity.getAddress();
        this.qq = entity.getQq();
        this.wechat = entity.getWechat();
        this.email = entity.getEmail();
        this.partyDate = entity.getPartyDate();
        this.wageId = entity.getWageId();
        this.bank = entity.getBank();
        this.bankSite = entity.getBankSite();
        this.bankCardId = entity.getBankCardId();
        this.personStatus = entity.getPersonStatus();
        this.photo = entity.getPhoto();
        this.marryStatus = entity.getMarryStatus();
        this.resume = entity.getResume();
        this.remark = entity.getRemark();
        this.createId = entity.getCreateId();
        this.createUser = entity.getCreateUser();
        this.createTime = entity.getCreateTime();
        this.verifyId = entity.getVerifyId();
        this.verifyUser = entity.getVerifyUser();
        this.verifyTime = entity.getVerifyTime();
        this.verifyStatus = entity.getVerifyStatus();
        this.integrityFlag = entity.getIntegrityFlag();
        this.logNum = entity.getLogNum();
    }

    @Override
    public UserInfo convertToEntity(){
        return new UserInfo(this);
    }


    @ApiModelProperty(value = "用户信息ID")
    private String userInfoId;

    @ApiModelProperty(value = "用户主表ID")
    private String userId;

    @ApiModelProperty(value = "工号")
    private String employeeId;

    @ApiModelProperty(value = "姓名")
    private String name;

    @ApiModelProperty(value = "性别,字典表取值")
    private String sex;

    @ApiModelProperty(value = "出生年月")
    private String birth;

    @ApiModelProperty(value = "职称")
    private String jobTitle;

    @ApiModelProperty(value = "国籍")
    private String country;

    @ApiModelProperty(value = "民族，字典值")
    private String nation;

    @ApiModelProperty(value = "籍贯，字典值")
    private String nativePlace;

    @ApiModelProperty(value = "户口所在地")
    private String householdPlace;

    @ApiModelProperty(value = "政治面貌，字典值")
    private String politicalStatus;

    @ApiModelProperty(value = "身份证号")
    private String idCard;

    @ApiModelProperty(value = "身份证图片(正)")
    private String idCardFront;

    @ApiModelProperty(value = "身份证图片(反)")
    private String idCardBack;

    @ApiModelProperty(value = "手机号")
    private String phone;

    @ApiModelProperty(value = "工作电话")
    private String workTel;

    @ApiModelProperty(value = "家庭电话")
    private String familyTel;

    @ApiModelProperty(value = "联系地址")
    private String address;

    @ApiModelProperty(value = "QQ号")
    private String qq;

    @ApiModelProperty(value = "微信号")
    private String wechat;

    @ApiModelProperty(value = "Email")
    private String email;

    @ApiModelProperty(value = "入党日期")
    private String partyDate;

    @ApiModelProperty(value = "工资号")
    private String wageId;

    @ApiModelProperty(value = "开户行")
    private String bank;

    @ApiModelProperty(value = "开户网点")
    private String bankSite;

    @ApiModelProperty(value = "银行卡号")
    private String bankCardId;

    @ApiModelProperty(value = "人事状态,字典值")
    private String personStatus;

    @ApiModelProperty(value = "个人照片")
    private String photo;

    @ApiModelProperty(value = "婚姻状态（0：未婚，1：已婚，2：离异）")
    private String marryStatus;

    @ApiModelProperty(value = "个人简历说明")
    private String resume;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "创建人ID")
    private String createId;

    @ApiModelProperty(value = "创建人姓名")
    private String createUser;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "审核人ID")
    private String verifyId;

    @ApiModelProperty(value = "审核人姓名")
    private String verifyUser;

    @ApiModelProperty(value = "审核时间")
    private Date verifyTime;

    @ApiModelProperty(value = "审核状态（0：未审核，1：以审核）")
    private Integer verifyStatus;

    @ApiModelProperty(value = "是否建立廉政档案（0：否，1：是）")
    private Integer integrityFlag;

    @ApiModelProperty(value = "历史记录数")
    private Integer logNum;

    @ApiModelProperty(value = "性别名称")
    private String sexName;
    @ApiModelProperty(value = "民族名称")
    private String nationName;
    @ApiModelProperty(value = "籍贯名称")
    private String nativePlaceName;
    @ApiModelProperty(value = "政治面貌名称")
    private String politicalStatusName;
    @ApiModelProperty(value = "身份证图片(正)")
    private String savePathFront;
    @ApiModelProperty(value = "身份证图片(反)")
    private String savePathBack;
    @ApiModelProperty(value = "人事状态")
    private String personStatusName;
    @ApiModelProperty(value = "个人照片路径")
    private String photoSavePath;
    @ApiModelProperty(value = "婚姻状态")
    private String marryStatusName;
    @ApiModelProperty(value = "审核标识（0不通过，1通过）")
    private Integer state;

    @ApiModelProperty(value = "工作单位")
    private String workUnit;
    @ApiModelProperty(value = "主要职责")
    private String majorDuty;
    @ApiModelProperty(value = "职务")
    private String duty;
}
